/* 
 * File:   Pajarito.h
 * Author: 75.02 - Grupo 7, 2do cuatrimestre 2012.
 *
 * Created on November 2, 2012, 2:20 PM
 */

#ifndef PAJARITO_H
#define	PAJARITO_H

#include <string>
#include "Actor.h"
#include "ActoresConstantes.h"
#include "Perimetro.h"
#include "../XML/tinyxml.h"

using namespace std;
using namespace TP::Juego::Arena;
using namespace TP::Juego::Arena::Utilidades;

namespace TP { namespace Juego { namespace Arena { namespace Actores {

class Pajarito : public Actor {
public:
    
    Pajarito();
    
    Pajarito(const string& pNombre);
    
    virtual ~Pajarito();
    
    virtual IColisionado* colisionar (IColisionado* pColisionado);
    
    virtual double getPoderAtaqueContraCerdito () = 0;
    
    virtual double getPoderAtaqueContraSuperficie () = 0;
    
    virtual int getPuntaje() = 0;
    
    virtual string aXML();
    
    virtual string aXML(const string& pPath);
    
    virtual void parseXML (const string& pDescriptor);

    virtual TiXmlElement* aElementoXML () = 0;
    
    virtual void deElementoXML (TiXmlElement* pElemento) = 0;    
    
    double getAlturaRebote();
    
    void setAlturaRebote(double alturaRebote);
    
protected:
    
    Perimetro* colisionarContraPerimetro (Perimetro* pPerimetro);
    
    double _alturaRebote;
};

}}}}


#endif	/* PAJARITO_H */

